The default format of the group buffer is nice and dull, but you can make it as exciting and ugly as you feel like.
Here's a couple of example group lines:
25: news.announce.newusers
* 0: alt.fan.andrea-dworkin
Quite simple, huh?
You can see that there are 25 unread articles in ‘news.announce.newusers’. There are no unread articles, but some ticked articles, in ‘alt.fan.andrea-dworkin’ (see that little asterisk at the beginning of the line?).
You can change
that format to whatever you want by fiddling with the
gnus-group-line-format variable. This variable works
along the lines of a format specification, which is
pretty much the same as a printf specifications, for
those of you who use (feh!) C. See Formatting
Variables.
‘%M%S%5y:%B%(%g%)\n’ is the value that produced those lines above.
There should always be a colon on the line; the cursor always moves to the colon after performing an operation. See Positioning Point. Nothing else is required—not even the group name. All displayed text is just window dressing, and is never examined by Gnus. Gnus stores all real information it needs using text properties.
(Note that if you make a really strange, wonderful, spreadsheet-like layout, everybody will believe you are hard at work with the accounting instead of wasting time reading news.)
Here's a list of all available format characters:
Gnus uses this estimation because the NNTP protocol provides efficient access to max-number and min-number but getting the true unread message count is not possible efficiently. For hysterical raisins, even the mail back ends, where the true number of unread messages might be available efficiently, use the same limited interface. To remove this restriction from Gnus means that the back end interface has to be changed, which is not an easy job.
The nnml backend (see Mail Spool) has a feature
called “group compaction” which circumvents this
deficiency: the idea is to renumber all articles from 1,
removing all gaps between numbers, hence getting a correct
total count. Other backends may support this in the future.
In order to keep your total article count relatively up to
date, you might want to compact your groups (or even directly
your server) from time to time. See Misc Group
Stuff, See Server
Commands.
gnus-read-active-file or use
the group buffer M-d command.gnus-group-uncollapsed-levels variable says how
many levels to leave at the end of the group name. The default
is 1—this will mean that group names like
‘gnu.emacs.gnus’ will be shortened to
‘g.e.gnus’.gnus-new-mail-mark)
if there has arrived new mail to the group lately.gnus-process-mark) if the group is process
marked.gnus-user-format-function-‘X’,
where ‘X’ is
the letter following ‘%u’. The function will be passed a
single dummy parameter as argument. The function should return
a string, which will be inserted into the buffer just like
information from any other specifier.All the “number-of” specs will be filled with an asterisk (‘*’) if no info is available—for instance, if it is a non-activated foreign group, or a bogus native group.